// https://xz.duoyi.com/jobs/index.html#type=program_type
// 广州多益网络股份有限公司

var spider = require('../../dao/node.spider');
var cheerio = require('cheerio');
var url_node = require('url');
var Iconv = require('iconv-lite');
var pinyin = require('node-pinyin');
var insertDB = require('../../dao/insert.db');
var utils = require('../../dao/utils');
var request = require('request');
var fs = require('fs');

var url = "https://xz.duoyi.com/jobs/index.html";


// var url2 = "https://xz.duoyi.com/func.aspx?action=get_position_by_type&t=1520469279308&pos_type='技术类|策划类|美术类|职能类'";

var url2 = "https://xz.duoyi.com/func.aspx?action=get_position_by_type&t=1520469279308&pos_type=%27%E6%8A%80%E6%9C%AF%E7%B1%BB|%E7%AD%96%E5%88%92%E7%B1%BB|%E7%BE%8E%E6%9C%AF%E7%B1%BB|%E8%81%8C%E8%83%BD%E7%B1%BB%27"

console.log(url2);

request({
    url: url2,
    encoding: null,
    headers: {
        "Referer": "https://xz.duoyi.com/jobs/index.html",
        "Host": "xz.duoyi.com"
    }
}, function (err, res, body) {
    var res;
    try {
        res = body.toString('utf-8');
        res = JSON.parse(res);


        console.log(res);
        for (var i = 0; i < res.Data.length; i++) {
            var list = res.Data[i]['data'];
            for (var j = 0; j < list.length; j++) {
                var _id = list[j]['_id'];
                var d_url = "https://xz.duoyi.com/func.aspx?action=position_detail&t=1520414985810&id=" + _id;

                getDetail(d_url);
            }
        }
    } catch (e) {}
});
/*
request({ url: url, encoding: null }, function (err, res, body) {

    var urlObj = url_node.parse(url);
    var protocol = urlObj.protocol;
    var hostname = urlObj.hostname;

    var host = protocol + "//" + hostname;

    var res;
    try {
        res = body.toString('utf-8');
    } catch (e) {


    }
    // console.log(res);

    var $ = cheerio.load(res);

    var urls = $(".dy-side-tab a");

    for (var i = 0; i < urls.length; i++) {
        var item = urls.eq(i);

        var _url = url + item.attr('href');


        getDetail(_url);
    }


});
*/

function getDetail(url) {


    request({
        url: url,
        encoding: null
    }, function (err, res, body) {
        var res;
        try {
            res = body.toString('utf-8');
            res = JSON.parse(res);


            var reObj = res.Data;

            var cArry = reObj['招聘人数2'];

            var citys = reObj['工作地点'];

            // console.log(reObj);
            var count = 0;
            for (var j = 0; j < citys.length; j++) {
                var city = citys[j];
                count += Number(cArry[city]['number']);
            }

            var s = reObj['薪资待遇'].split('，');
            s.pop();
            var data = {
                "url": url, // jd详情页的地址
                'edu': '', // 最低学历
                'exp': [], // 所需工作经验，比如[3,5]表示3到5年,[3]表示3年，[]表示无经验要求
                'name': reObj['职位名称'], // 职位名称*
                'date': new Date(reObj['添加时间']), // 职位发布日期，字符串形式即可，后期统一转换
                'lang': '', // 对语言的要求
                'place': '', // 办公具体地址
                'major': '', // 专业要求
                'count': count, // 招聘数量
                'salary': s, // 薪资待遇，[5000,8000]表示月薪5到8千，[4000]表示4千，[]表示没有写明
                'toSchool': true, // 是否是面向校园招聘，本次官网抓取一律都是校园招聘，所以此处都是True
                'welfare': [], // 福利待遇，比如五险一金、十三薪之类的，保存成数组
                'funType': '', // 职能类型，比如证券经纪人是证券/期货/外汇经纪人
                'company': '广州多益网络股份有限公司', // 企业名称
                'location': reObj['工作地点'].join(','), // 所在城市
                'industry': '', // 企业所在行业
                'keywords': [], // 此岗位的搜索关键字 
                'platform': 'offical', // 针对官网抓取时此处一律保存为offical
                'searchKeyword': '', // 搜索的关键字，由于是官网抓取所以此处一律为空字符串
                'description': reObj['工作职责'] + reObj['职位要求'], // 职位的详细描述，包括职责、要求之类的
                'subIndustry': '', // 一律为空字符串
                'stime': new Date() // 抓取时间
            };

            insertDB(data);
        } catch (e) {


        }
    });



}